home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / PowerD / powerd / examples / mouseport.d < prev    next >
Text File  |  2002-10-28  |  872b  |  30 lines

  1. // switches mouseports
  2.  
  3. OPT    DOSONLY,OPTIMIZE
  4.  
  5. MODULE 'devices/input','exec/io'
  6.  
  7. ENUM    JOY
  8.  
  9. PROC main()
  10.     DEF    request=NIL:PTR TO IOStd,port=NIL,rda,args=[0]:LONG,mouse
  11.     IF rda:=ReadArgs('JOY/S',args,NIL)
  12.         mouse:=IF args[JOY] THEN 1 ELSE 0    // 0 for original port, 1 for joyport
  13.         IF port:=CreateMsgPort()
  14.             IF request:=CreateIORequest(port,SIZEOF_IOStd)
  15.                 IF OpenDevice('input.device',0,request,0)=0
  16.                     request.Command:=IND_SETMPORT
  17. //                    request.Data:=[mouse]:BYTE
  18.                     request.Data:=[mouse,0]:BYTE
  19.                     request.Length:=1
  20.                     DoIO(request)
  21.                     CloseDevice(request)
  22.                 ELSE PrintF('\s: could not open input device\n','mouseport')
  23.                 DeleteIORequest(request)
  24.             ELSE PrintF('\s: could not create iorequest\n','mouseport')
  25.             DeleteMsgPort(port)    
  26.         ELSE PrintF('\s: could not open port\n','mouseport')
  27.         FreeArgs(rda)
  28.     ELSE PrintFault(IOErr(),'mouseport')
  29. ENDPROC
  30.